import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * Esta Clase Representa la Bala del Enemigo
 */
public class Bala2  extends Mover
{
    private int dir; //direccion de la bala
    
    Bala2(int direccion)
    {
        dir=direccion; 
        setRotation(dir);
    }

    public void act() 
    {
        move();
        desapareceObjeto();
    }    
    
    /**
     * Cuando la bala choque con otro objeto desaparece el objeto
     */
    public void desapareceObjeto()
    {
        Actor tanque=getOneIntersectingObject(Tanque.class);
        if(tanque != null)
        {
            explosion(tanque.getX(),tanque.getY());
            getWorld().removeObject(tanque);
            quitaDelContador();
            Greenfoot.playSound("muere.wav");
        }
        
        Actor wall=getOneIntersectingObject(Muro.class);
        if(wall != null)
            getWorld().removeObject(wall);
        
        Actor flag=getOneIntersectingObject(Aguila.class);
        if(flag != null)
        {
            explosion(flag.getX(),flag.getY());
            getWorld().removeObject(flag);
            Greenfoot.playSound("muere.wav");
        }
        
        if(bordeMundo() || wall!=null || tanque!= null|| flag!= null || getX()>560)
            getWorld().removeObject(this);
    }

    /**
     * Cuando el usuario a sido chocado se descontara una vida
     */
    public void quitaDelContador()
    {
        Fondo miFondo=(Fondo)getWorld();
        miFondo.descuentaEnemigo(0);
    }   
    
    /**
     * Crea un nuevo objeto de la Clase Explosion Para simmular una Explosion
     */
    public void explosion(int x, int y)
    {
        Actor explo=new Explosion();
        getWorld().addObject(explo,x,y);
    }
}
